#ifndef DENTITYFACTORY_H
#define DENTITYFACTORY_H

#include <QObject>

#include "denumentity.h"
#include "dvariableentity.h"
#include "dmethodentity.h"
#include "dclassentity.h"

class DEntityFactory : public QObject
{
	Q_OBJECT

public:
	DEntityFactory(QObject *parent = 0);
	~DEntityFactory();

	DEnumEntity*		createEnumEntity();
	DVariableEntity*	createVariableEntity(const QString& name, const QString& type, Access access);
	DMethodEntity*		createMethodEntity();
	DClassEntity*		createClassEntity(ClassType eClassType, const QString& className,
		Access inheritingType = ePublic);
private:
	
};

#endif // DENTITYFACTORY_H
